package com.tledu.meeting_info.mapper;

import com.tledu.meeting_info.domain.MeetingInfo;
import com.tledu.meeting_info.domain.dto.MeetingUserDto;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 会议列表Mapper接口
 * 
 * @author ruoyi
 * @date 2024-08-29
 */
public interface MeetingInfoMapper {
    /**
     * 查询会议列表
     *
     * @param id 会议列表主键
     * @return 会议列表
     */
    public MeetingUserDto selectMeetingInfoById(Long id);

    /**
     * 查询会议列表列表
     *
     * @param meetingInfo 会议列表
     * @return 会议列表集合
     */
    public List<MeetingInfo> selectMeetingInfoList(MeetingInfo meetingInfo);

    /**
     * 新增会议列表
     *
     * @param meetingInfo 会议列表
     * @return 结果
     */
    public int insertMeetingInfo(MeetingInfo meetingInfo);

    /**
     * 修改会议列表
     *
     * @param meetingInfo 会议列表
     * @return 结果
     */
    public int updateMeetingInfo(MeetingInfo meetingInfo);

    /**
     * 删除会议列表
     *
     * @param id 会议列表主键
     * @return 结果
     */
    //public int deleteMeetingInfoById(Long id);

    /**
     * 批量删除会议列表
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    // 逻辑删除
    public int updateMeetingInfoByIds(Long[] ids);

    //取消
    int updateCancel(Long id);

    //与会人
    List<Integer> selectPresentById(Long id);

    //分享人
    List<Integer> selectSharerById(Long id);

    // 新增会议纪要
    @Update("update meeting_info set summary = #{meetingUserDto.summary} where id=#{id};")
    int updateMeetingSummary(@Param("meetingUserDto") MeetingUserDto meetingUserDto,@Param("id") Long id);
}